from string import digits#去掉文字中的数字
import time
区域_当前精灵名 = [31,90,101,106]#已更新
区域_对方精灵名 = [893,91,962,107]#已更新
区域_第一技能 = [159,472,308,558]
区域_第二技能 = [317,474,464,557]
区域_第三技能 = [474,472,619,557]
区域_第四技能 = [627,469,774,558]
区域_第一精灵 = [156,517,248,568]
区域_第二精灵 = [266,525,354,569]
区域_第三精灵 = [364,525,456,568]
区域_第四精灵 = [465,528,561,568]
区域_第五精灵 = [569,531,662,568]
区域_第六精灵 = [667,527,770,569]
区域_对战信息 = [274,398,638,463]
区域_我方强化 = [12,120,184,144]
区域_敌方强化 = [799,126,960,139]
区域_敌方异常状态 = [789,84,874,107]#3格
区域_自己异常状态 = [111,84,198,108]#3格
区域_回合数 = [506,95,572,148]
区域_第五技能PP = [115,493,130,509]
对战信息文字颜色 = "84909b-1fffff|aaa9a3-1fffff|8a169e-1fffff"
回合数文字颜色 = "b7f50b-010000|6dbd7c-010000|9ee230-010000|a0de59-010000"
第五技能PP文字颜色 = "ffff00-000000|ebeb9e-000000|e5e5ce-000000"
#--------------------------------------3v3
区域_3v3我方精灵名1 = [19,349,139,371]
区域_3v3我方精灵名2 = [144,349,264,371]
区域_3v3我方精灵名3 = [269,349,389,371]
区域_3v3我方精灵名4 = [19,494,139,516]
区域_3v3我方精灵名5 = [144,494,264,516]
区域_3v3我方精灵名6 = [269,494,389,516]

区域_3v3对方精灵名1 = [591,349,711,371]
区域_3v3对方精灵名2 = [716,349,836,371]
区域_3v3对方精灵名3 = [841,349,957,371]
区域_3v3对方精灵名4 = [591,494,711,516]
区域_3v3对方精灵名5 = [716,494,836,516]
区域_3v3对方精灵名6 = [841,494,957,516]
巅峰选精灵文字颜色 = "cc9900-000000"
#0,-100,37,-64
#6v6
区域_6v6我方精灵名1 = [18,306,110,323]#-
区域_6v6我方精灵名2 = [116,306,208,323]#-
区域_6v6我方精灵名3 = [214,306,306,323]#-
区域_6v6我方精灵名4 = [312,306,404,323]#-
区域_6v6我方精灵名5 = [18,423,110,440]#-
区域_6v6我方精灵名6 = [116,423,208,440]#-
区域_6v6我方精灵名7 = [214,423,306,440]#-
区域_6v6我方精灵名8 = [312,423,404,440]#-
区域_6v6我方精灵名9 = [18,540,110,557]#-
区域_6v6我方精灵名10 = [116,540,208,557]#-
区域_6v6我方精灵名11 = [214,540,306,557]#-
区域_6v6我方精灵名12 = [312,540,404,557]#-

区域_6v6对方精灵名1 = [570,306,662,323]#
区域_6v6对方精灵名2 = [668,306,760,323]#
区域_6v6对方精灵名3 = [766,306,858,323]#
区域_6v6对方精灵名4 = [864,306,956,323]#
区域_6v6对方精灵名5 = [570,423,662,440]#
区域_6v6对方精灵名6 = [668,423,760,440]#
区域_6v6对方精灵名7 = [766,423,858,440]#
区域_6v6对方精灵名8 = [864,423,956,440]#
区域_6v6对方精灵名9 = [570,540,662,557]#
区域_6v6对方精灵名10 = [668,540,760,557]#
区域_6v6对方精灵名11 = [766,540,858,557]#
区域_6v6对方精灵名12 = [864,540,956,557]#

class PVP():
    """用于巅峰对战的工具类"""
    def __init__(self,_dm):
        self.dm = _dm
        self.fontColor = "ffffff-000000|fefefe-000000|fafafa-000000|fcfcfc-000000|fdfdfd-000000|fbfbfb-000000"
        self.startPoint = False #0回合
        self.出战精灵名称 = ''
        self.敌方精灵名称 = ''
        self.技能情况 = []
        self.背包六只精灵 = []
        self.战斗过程信息 = ''
        self.我方强化状态 = []
        self.敌方强化状态 = []
        self.我方异常状态 = []
        self.敌方异常状态 = []
        self.我方血量 = 0
        self.敌方血量 = 0
        self.回合数 = 0
        #---------------------------------
        self.出招表 = ['']*50
        #喝PP药会把原有的技能代替掉
        self.出招表是否为空 = False
        self.我方是否精灵变更 = False
        self.我方是否被控 = False
        self.默认首发精灵3v3 = ["弑神猎皇"]
        self.默认首发精灵6v6 = ["弑神猎皇"]
        
    def updataTaskData(self):
        """更新所有战斗数据"""
        _data = self.getBattleElvesName()
        if _data != self.出战精灵名称:
            #此时我方精灵变更
            self.出战精灵名称 = _data
            self.我方是否精灵变更 = True
            self.出招表 = ['']*50
            self.我方是否精灵变更 = False
            print(str(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())) + '我方精灵已变更')
        else:
            self.我方是否精灵变更 = False
        #----------------------------------------
        _data1 = self.getEnemyElvesName()
        if _data1 != self.敌方精灵名称:
            #此时敌方精灵变更
            self.敌方精灵名称 = _data1
        #----------------------------------------
        _data2 = self.getSkills()
        if _data2 != self.技能情况:
            #此时我方技能情况变更
            self.技能情况 = _data2
        #----------------------------------------
        _data3 = self.getElves()
        if _data3 != self.背包六只精灵:
            #此时背包六只精灵变更
            self.背包六只精灵 = _data3
        #----------------------------------------
        _data4 = self.getAgainstInformation()
        if _data4 != self.战斗过程信息:
            #此时战斗过程信息变更
            self.战斗过程信息 = _data4
        #----------------------------------------
        _data5 = self.getIntensify()
        if _data5 != self.我方强化状态:
            #此时我方强化状态变更
            self.我方强化状态 = _data5
        #----------------------------------------
        _data6 = self.getEnemyIntensify()
        if _data6 != self.敌方强化状态:
            #此时敌方强化状态变更
            self.敌方强化状态 = _data6
        #----------------------------------------
        _data7 = self.getAbnormalCondition()
        if _data7 != self.我方异常状态:
            #此时我方异常状态变更
            self.我方异常状态 = _data7
            a = _data7.count(1)
            if a > 0:
                self.我方是否被控 = True
            elif a == 0:
                self.我方是否被控 = False
                
        #----------------------------------------
        _data8 = self.getEnemyAbnormalCondition()
        if _data8 != self.敌方异常状态:
            #此时敌方异常状态变更
            self.敌方异常状态 = _data8
        #----------------------------------------
        _data9 = self.getHP()
        if _data9 != self.我方血量:
            #此时我方血量变更
            self.我方血量 = _data9
        #----------------------------------------
        _data10 = self.getEnemyHP()
        if _data10 != self.敌方血量:
            #此时敌方血量变更
            self.敌方血量 = _data10
        #----------------------------------------
        _data11 = self.getRounds()
        if _data11 != self.回合数 and _data11 != '':
            #此时回合数变更
            self.回合数 = _data11
        
        a = 0
        if a == 1:
            print("----------------------------------------")
            print('我方精灵:' + str(_data))
            print('敌方精灵:' + str(_data1))
            print('我方技能:' + str(_data2))
            print('六只精灵:' + str(_data3))
            print('战斗信息:' + str(_data4))
            print('我方强化:' + str(_data5))
            print('敌方强化:' + str(_data6))
            print('我方异常:' + str(_data7))
            print('敌方异常:' + str(_data8))
            print('我方血量:' + str(_data9))
            print('敌方血量:' + str(_data10))
            print('回合数:' + str(_data11))
        
    def getBattleElvesName(self):
        """获取当前出战精灵的名字"""
        x1,y1,x2,y2 = 区域_当前精灵名
        当前精灵名 = self.dm.ocr(x1,y1,x2,y2,self.fontColor)
        当前精灵名 = 当前精灵名.replace("一", "")#去除一
        return 当前精灵名
    
    def getEnemyElvesName(self):
        """获取当前敌人精灵的名字"""
        x1,y1,x2,y2 = 区域_对方精灵名
        当前精灵名 = self.dm.ocr(x1,y1,x2,y2,self.fontColor)
        当前精灵名 = 当前精灵名.replace("一", "")#去除一
        return 当前精灵名

    def getSkills(self):
        """查看当前自己的技能情况"""
        技能列表 = []
        #招数以及剩余PP
        def getJiNengData(JiNeng):
            list03 = []
            x1,y1,x2,y2 = JiNeng
            当前技能名 = self.dm.ocr(x1,y1,x2,y2,self.fontColor)
            当前技能名 = 当前技能名.replace("一", "")#去除一
            list01 = 当前技能名.split('次数：')#['落芳天华','0/10']
            try:
                list02 = list01[1].split('/')#['0','10']
            except:
                list03.append('未找到')
                list03.append('10')
                return list03
            list03.append(list01[0])
            list03.append(list02[0])
            return list03#['落芳天华','0']
        
        技能列表.append(getJiNengData(区域_第一技能))
        技能列表.append(getJiNengData(区域_第二技能))
        技能列表.append(getJiNengData(区域_第三技能))
        技能列表.append(getJiNengData(区域_第四技能))
        #第五技能PP  05 15 25 35 45 55
        x1,y1,x2,y2 = 区域_第五技能PP
        list1 = ['第五','5']
        _str01 = self.dm.ocr(x1,y1,x2,y2,第五技能PP文字颜色)
        if _str01 == '':
            _str01 = '5'
        list1[1] = _str01
        技能列表.append(list1)
        
        #[['落芳天华', '10'], ['光荣之梦', '5'], ['璨灵圣光', '5'], ['神圣启示歌', '5']]
        return 技能列表
    
    def getElves(self):
        """查看自己的六个精灵"""
        精灵列表 = []
        def getJingLingData(JingLing):
            list03 = []
            x1,y1,x2,y2 = JingLing
            _dm: DmBase = self.dm
            当前精灵名 = _dm.ocr(x1,y1,x2,y2,self.fontColor)
            当前精灵名 = 当前精灵名.replace("一", "")#去除一
            list01 = 当前精灵名.split('/')#['972','972圣灵谱尼']
            try:
                res = list01[1].translate(str.maketrans('', '', digits))#去除文字中的数字  '圣灵谱尼'
            except:
                list03.append('未找到')
                list03.append('0')
                return list03
            if(res.find('次数：') != -1 or list01[0].find('次数：') != -1):
                #说明此时没处在切换精灵栏面板
                list03.append('未找到')
                list03.append('0')
                return list03
            list03.append(res)
            list03.append(list01[0])#['圣灵谱尼','972']
            return list03
        
        精灵列表.append(getJingLingData(区域_第一精灵))
        精灵列表.append(getJingLingData(区域_第二精灵))
        精灵列表.append(getJingLingData(区域_第三精灵))
        精灵列表.append(getJingLingData(区域_第四精灵))
        精灵列表.append(getJingLingData(区域_第五精灵))
        精灵列表.append(getJingLingData(区域_第六精灵))
        return 精灵列表
    
    def getAgainstInformation(self):
        """查看双方对战信息"""
        x1,y1,x2,y2 = 区域_对战信息
        对战信息 = self.dm.ocr(x1,y1,x2,y2,对战信息文字颜色)
        对战信息 = 对战信息.replace("一", "")#去除一
        return 对战信息
    
    def getIntensify(self):
        """获取强化状态，不能识别强化等级"""
        x1,y1,x2,y2 = 区域_我方强化
        #攻击强化
        攻击 = self.dm.dm.FindMultiColor(x1,y1,x2,y2,"FFF85F","5|0|FFF85F,13|1|FFED54,16|1|FFED54,1|3|FFD73E,9|3|FFD73E,5|5|FFC128,14|5|FFC128,0|7|FFAB12,10|7|FFAB12",1,0)
        #防御强化
        防御 = self.dm.dm.FindMultiColor(x1,y1,x2,y2,"FFFF66","-6|3|FFF75E,-5|4|FFE84F,8|4|FFE84F,-5|5|330000,9|6|FFCA31,7|8|FFAB12,2|9|FF9C03",1,0)
        #特攻强化
        特攻 = self.dm.dm.FindMultiColor(x1,y1,x2,y2,"330000","-13|1|FFF65D,-12|1|330000,-1|1|FFF65D,-11|2|FFE74E,3|4|FFC72E,4|4|330000,-7|5|330000,-7|6|FFA80F",1,0)
        #特防强化
        特防 = self.dm.dm.FindMultiColor(x1,y1,x2,y2,"FFFF66","-13|1|330000,-12|2|FFF65D,-5|2|330000,-6|5|FFC930,-3|5|FFC930,-14|6|FFB920,-2|8|FF9B02",1,0)
        #速度强化
        速度 = self.dm.dm.FindMultiColor(x1,y1,x2,y2,"FFFF66","2|0|FFFF66,0|1|330000,9|1|FFF45B,0|2|FFE54C,8|2|330000,-1|4|FFC62D,9|4|330000",1,0)
        #命中强化
        命中 = self.dm.dm.FindMultiColor(x1,y1,x2,y2,"FFFF66","-1|1|330000,7|2|FFF65D,6|3|330000,-4|5|FFC72E,-3|5|330000,-1|5|330000",1,0)
        
        data = [攻击[0],防御[0],特攻[0],特防[0],速度[0],命中[0]]
        return data
    
    def getEnemyIntensify(self):
        """获取敌方强化状态，不能识别强化等级"""
        x1,y1,x2,y2 = 区域_敌方强化
        #攻击强化
        攻击 = self.dm.dm.FindMultiColor(x1,y1,x2,y2,"FFF85F","5|0|FFF85F,13|1|FFED54,16|1|FFED54,1|3|FFD73E,9|3|FFD73E,5|5|FFC128,14|5|FFC128,0|7|FFAB12,10|7|FFAB12",1,0)
        #防御强化
        防御 = self.dm.dm.FindMultiColor(x1,y1,x2,y2,"FFFF66","-6|3|FFF75E,-5|4|FFE84F,8|4|FFE84F,-5|5|330000,9|6|FFCA31,7|8|FFAB12,2|9|FF9C03",1,0)
        #特攻强化
        特攻 = self.dm.dm.FindMultiColor(x1,y1,x2,y2,"330000","-13|1|FFF65D,-12|1|330000,-1|1|FFF65D,-11|2|FFE74E,3|4|FFC72E,4|4|330000,-7|5|330000,-7|6|FFA80F",1,0)
        #特防强化
        特防 = self.dm.dm.FindMultiColor(x1,y1,x2,y2,"FFFF66","-13|1|330000,-12|2|FFF65D,-5|2|330000,-6|5|FFC930,-3|5|FFC930,-14|6|FFB920,-2|8|FF9B02",1,0)
        #速度强化
        速度 = self.dm.dm.FindMultiColor(x1,y1,x2,y2,"FFFF66","2|0|FFFF66,0|1|330000,9|1|FFF45B,0|2|FFE54C,8|2|330000,-1|4|FFC62D,9|4|330000",1,0)
        #命中强化
        命中 = self.dm.dm.FindMultiColor(x1,y1,x2,y2,"FFFF66","-1|1|330000,7|2|FFF65D,6|3|330000,-4|5|FFC72E,-3|5|330000,-1|5|330000",1,0)
        
        data = [攻击[0],防御[0],特攻[0],特防[0],速度[0],命中[0]]
        return data
    
    def getAbnormalCondition(self):
        """获取自己的异常状态  目前仅限于三格"""
        x1,y1,x2,y2 = 区域_自己异常状态
        #焚烬状态
        焚烬 = self.dm.dm.FindMultiColor(x1,y1,x2,y2,"A1003E","-13|2|C2002A,-2|8|FF9A00,-6|10|FF1A11,-15|12|2E0001,-8|15|FFFF00",1,0)
        #石化状态
        石化 = self.dm.dm.FindMultiColor(x1,y1,x2,y2,"7B6340","6|1|000000,3|3|AD8E63,-3|4|3C3224",1,0)
        #睡眠状态
        睡眠 = self.dm.dm.FindMultiColor(x1,y1,x2,y2,"EA43E9","3|0|000000,-3|3|EA43E9,-1|3|000000",1,0)
        #麻痹状态
        麻痹 = self.dm.dm.FindMultiColor(x1,y1,x2,y2,"09E5A8","-7|3|000000,-7|4|09E5A8,1|4|09E5A8,-5|5|09E5A8",1,0)
        #诅咒状态
        诅咒 = self.dm.dm.FindMultiColor(x1,y1,x2,y2,"B6B6BD","-1|1|23242D,-3|3|000000,0|6|B6B6BD",1,0)
        #瘫痪状态
        瘫痪 = self.dm.dm.FindMultiColor(x1,y1,x2,y2,"000000","-2|2|E8A9EE,0|3|5FCEFF,-1|5|153475",1,0)
        #冰封状态
        冰封 = self.dm.dm.FindMultiColor(x1,y1,x2,y2,"0051B7","-2|2|003BA1,2|2|003096",1,0)
        #感染状态
        感染 = self.dm.dm.FindMultiColor(x1,y1,x2,y2,"54A020","-4|5|4F4051,-5|6|000000,0|6|5D8C39,-3|7|63B927",1,0)
        #疲惫状态
        疲惫 = self.dm.dm.FindMultiColor(x1,y1,x2,y2,"B1F526","1|2|9F2D9F,0|5|B1F526,2|5|223766",1,0)
        #害怕状态
        害怕 = self.dm.dm.FindMultiColor(x1,y1,x2,y2,"FF0000","2|1|000000,0|3|FF0000,3|6|A801A9",1,0)
        
        data = [焚烬[0],石化[0],睡眠[0],麻痹[0],诅咒[0],瘫痪[0],冰封[0],感染[0],疲惫[0],害怕[0]]
        return data
    
    def getEnemyAbnormalCondition(self):
        """获取敌方的异常状态  目前仅限于三格"""
        x1,y1,x2,y2 = 区域_敌方异常状态
        #焚烬状态
        焚烬 = self.dm.dm.FindMultiColor(x1,y1,x2,y2,"A1003E","-13|2|C2002A,-2|8|FF9A00,-6|10|FF1A11,-15|12|2E0001,-8|15|FFFF00",1,0)
        #石化状态
        石化 = self.dm.dm.FindMultiColor(x1,y1,x2,y2,"7B6340","6|1|000000,3|3|AD8E63,-3|4|3C3224",1,0)
        #睡眠状态
        睡眠 = self.dm.dm.FindMultiColor(x1,y1,x2,y2,"EA43E9","3|0|000000,-3|3|EA43E9,-1|3|000000",1,0)
        #麻痹状态
        麻痹 = self.dm.dm.FindMultiColor(x1,y1,x2,y2,"09E5A8","-7|3|000000,-7|4|09E5A8,1|4|09E5A8,-5|5|09E5A8",1,0)
        #诅咒状态
        诅咒 = self.dm.dm.FindMultiColor(x1,y1,x2,y2,"B6B6BD","-1|1|23242D,-3|3|000000,0|6|B6B6BD",1,0)
        #瘫痪状态
        瘫痪 = self.dm.dm.FindMultiColor(x1,y1,x2,y2,"000000","-2|2|E8A9EE,0|3|5FCEFF,-1|5|153475",1,0)
        #冰封状态
        冰封 = self.dm.dm.FindMultiColor(x1,y1,x2,y2,"0051B7","-2|2|003BA1,2|2|003096",1,0)
        #感染状态
        感染 = self.dm.dm.FindMultiColor(x1,y1,x2,y2,"54A020","-4|5|4F4051,-5|6|000000,0|6|5D8C39,-3|7|63B927",1,0)
        #疲惫状态
        疲惫 = self.dm.dm.FindMultiColor(x1,y1,x2,y2,"B1F526","1|2|9F2D9F,0|5|B1F526,2|5|223766",1,0)
        #害怕状态
        害怕 = self.dm.dm.FindMultiColor(x1,y1,x2,y2,"FF0000","2|1|000000,0|3|FF0000,3|6|A801A9",1,0)
        
        data = [焚烬[0],石化[0],睡眠[0],麻痹[0],诅咒[0],瘫痪[0],冰封[0],感染[0],疲惫[0],害怕[0]]
        return data
    
    def changeElvesForName(self,name):
        """更换精灵通过名字"""
        #识别出击按钮
        dm_ret = self.dm.dm.FindMultiColor(153,540,764,568,"993300","0|1|FFB800,19|1|FFB800,18|3|993300,-1|4|6FA2D5,17|4|6FA2D5",1,0)
        if dm_ret[0] == 1:
            self.dm.moveTo(int(dm_ret[1]),int(dm_ret[2]))
            self.dm.leftClick()
        #---------------------------------------------------
        
        list01 = self.getElves()            #查看该精灵存在吗？
        isHave = False                      #是否满足条件
        int01 = 0
        for i in list01:
            str01 = i[0]                    #精灵名字
            if(str01.find(name) != -1):     #说明找到了
                if(int(i[1])>0):            #该精灵还活着
                    isHave = True
                    break
            int01 = int01 + 1
        if(isHave == False):
            return 0
        def findJingLing(JingLing):
            x1,y1,x2,y2 = JingLing
            _dm: DmBase = self.dm
            dm_ret = _dm.findStrFast(x1,y1,x2,y2,name,self.fontColor)
            if(int(dm_ret[0]) == -1):#说明没找到
                return -1
            _dm.moveTo(int(dm_ret[1]),int(dm_ret[2]))
            _dm.leftClick()
            time.sleep(0.3)
            #识别出击按钮
            dm_ret = self.dm.dm.FindMultiColor(153,540,764,568,"993300","0|1|FFB800,19|1|FFB800,18|3|993300,-1|4|6FA2D5,17|4|6FA2D5",1,0)
            if dm_ret[0] == 1:
                self.dm.moveTo(int(dm_ret[1]),int(dm_ret[2]))
                self.dm.leftClick()
            return dm_ret
        
        if(int01 == 0):
            x01 = findJingLing(区域_第一精灵)
        elif(int01 == 1):
            x01 = findJingLing(区域_第二精灵)
        elif(int01 == 2):
            x01 = findJingLing(区域_第三精灵)
        elif(int01 == 3):
            x01 = findJingLing(区域_第四精灵)
        elif(int01 == 4):
            x01 = findJingLing(区域_第五精灵)
        elif(int01 == 5):
            x01 = findJingLing(区域_第六精灵)
        if(x01 == -1):
            return 0
        else:
            return 1#返回1是代表成功了

    def changeElvesForRestrain(self):
        """更换精灵通过克制关系"""
        #红色克制文字
        dm_ret = self.dm.dm.FindMultiColor(163,436,754,498,"FF7D00","0|-1|4D0000,0|-2|FF6700,0|-3|FF5D00,0|-4|4D0000,7|2|4D0000,6|2|FF9200",1,0)
        if dm_ret[0] == 1:
            self.dm.moveTo(int(dm_ret[1]),int(dm_ret[2]) + 20)
            self.dm.leftClick()
        else:
            #白色普通文字
            dm_ret = self.dm.dm.FindMultiColor(163,436,754,498,"006699","0|1|7AFFFF,0|3|006699,-1|-7|006699,-2|-7|D4FFFF",1,0)
            if dm_ret[0] == 1:
                self.dm.moveTo(int(dm_ret[1]),int(dm_ret[2]) + 20)
                self.dm.leftClick()
            else:
                #深蓝色微软文字
                dm_ret = self.dm.dm.FindMultiColor(163,436,754,498,"011456","0|-1|0099CC,0|1|12A6D7,9|2|011456,9|1|12A6D7",1,0)
                if dm_ret[0] == 1:
                    self.dm.moveTo(int(dm_ret[1]),int(dm_ret[2]) + 20)
                    self.dm.leftClick()
        #识别出击按钮
        dm_ret = self.dm.dm.FindMultiColor(153,540,764,568,"993300","0|1|FFB800,19|1|FFB800,18|3|993300,-1|4|6FA2D5,17|4|6FA2D5",1,0)
        if dm_ret[0] == 1:
            self.dm.moveTo(int(dm_ret[1]),int(dm_ret[2]))
            self.dm.leftClick()
            #切换之后清空出招表,并且立即更新（这样就不会切换精灵后直接嗑药了）
            self.出招表 = ['']*50
            self.updataTaskData()
            
        
    def getHP(self):
        """获取己方的血量百分比"""
        dm_ret = self.dm.dm.FindMultiColor(101,28,451,51,"FF5C00","1|0|660000",1,0)
        x1 = 102
        x2 = 439
        跨度 = x2 - x1
        if dm_ret[0] == 1:
            #说明已经找到血量了
            百分比 = (dm_ret[1] - x1)/跨度
            百分比 = round(百分比, 2)
            return 百分比
        return 0
    
    def getEnemyHP(self):
        """获取对方的血量百分比"""
        dm_ret = self.dm.dm.FindMultiColor(524,29,878,55,"660000","1|0|FF3A00",1,0)
        x1 = 533
        x2 = 874
        跨度 = x2 - x1
        if dm_ret[0] == 1:
            #说明已经找到血量了
            百分比 = 1 - (dm_ret[1] - x1)/跨度
            百分比 = round(百分比, 2)
            return 百分比
        return 0

    def getRounds(self):
        """获取当前回合数"""
        x1,y1,x2,y2 = 区域_回合数
        回合数 = self.dm.ocr(x1,y1,x2,y2,回合数文字颜色)
        回合数 = 回合数.replace("一", "")#去除一
        if 回合数 == '1':
            #此时是否是灰色不能点击状态
            if self.dm.dm.CmpColor(895,439,"9CA8B4",1.0) == 0:
                self.startPoint = True
            if self.startPoint == False:
                回合数 = 0
        else:
            self.startPoint = False
        if 回合数 == '':
            回合数 = self.回合数
        return int(回合数)

    def getRounds2(self):
        """自己数回合数"""
        #这个区域是右下角战斗的图
        dm_ret = self.dm.dm.FindMultiColor(828,473,868,519,"A8BACD","5|1|21304F,6|1|588AA5,2|2|EBEEF0",1,0)
        
    
    def cilckRoundsForList(self):
        """根据列表的数据按照回合数点击技能"""
        #这里应该加一个判断<可以战斗时才执行下面>
        
        
        try:
            技能名 = ''
            技能名 = self.出招表[int(self.回合数)]
        except:
            print("警告：出招表在" + str(self.回合数) + "回合为空")
            print(技能名)
            return None
        #************************************
        if 技能名 == '':
            self.出招表是否为空 = True
            return
        self.出招表是否为空 = False
        #************************************
        def findJiNeng(JiNeng):
            x1,y1,x2,y2 = JiNeng
            dm_ret = self.dm.findStrFast(x1,y1,x2,y2,技能名,self.fontColor)
            if(int(dm_ret[0]) != -1):
                self.dm.moveTo(int(dm_ret[1]),int(dm_ret[2]))
                self.dm.leftClick()
            return dm_ret
        isHave = False#是否满足条件
        int01 = 0
        for i in self.技能情况:
            str01 = i[0]#技能名字
            if(str01.find(技能名) != -1):#说明找到了,并且该技能还有PP
                if int(i[1])>0:
                    isHave = True
                    break
                else:
                    #喝PP药
                    self.drinkPP()
            int01 = int01 + 1
        if(isHave == False):
            if 技能名 == '喝PP药':
                self.drinkPP()
            if 技能名 == '喝HP药':
                self.drinkHP()
            return 0
        if(int01 == 0):
            findJiNeng(区域_第一技能)
            return 0
        elif(int01 == 1):
            findJiNeng(区域_第二技能)
            return 0
        elif(int01 == 2):
            findJiNeng(区域_第三技能)
            return 0
        elif(int01 == 3):
            findJiNeng(区域_第四技能)
            return 0
        elif(int01 == 4):
            self.enlargeRecruit()#第五
            return 0
    
    def drinkPP(self):
        """喝PP药"""
        #点击道具
        self.dm.moveTo(915,456)
        self.dm.leftClick()
        time.sleep(0.4)
        #回PP药栏文字
        dm_ret = self.dm.dm.FindMultiColor(187,443,219,469,"E2FFFF","1|0|0033CC,2|0|E2FFFF,-2|0|0033CC",1,0)
        #点击PP药栏
        if(int(dm_ret[0]) != 0):
            self.dm.moveTo(int(dm_ret[1]),int(dm_ret[2]))
            self.dm.leftClick()
        time.sleep(0.5)
        #PP药栏亮
        dm_ret = self.dm.dm.FindMultiColor(187,443,219,469,"6DF5F4","1|0|0087E1,3|0|E0FFFF,5|0|0087E1",1,0)
        if(int(dm_ret[0]) != 0):
            #点击PP药
            self.dm.moveTo(203,517)
            self.dm.leftClick()
        else:
            #PP药栏亮
            dm_ret = self.dm.dm.FindMultiColor(0,0,1920,1080,"05FEFE","0|-1|0087E1,14|-3|CCFFFF,15|-10|0087E1,15|-13|0087E1",1,0)
            if(int(dm_ret[0]) != 0):
                #点击PP药
                self.dm.moveTo(203,517)
                self.dm.leftClick()
    
    def drinkHP(self):
        """喝HP药"""
        #------------------先判断是否被控------------
        _data7 = self.getAbnormalCondition()
        self.我方异常状态 = _data7
        a = _data7.count(1)
        if a > 0:
            self.我方是否被控 = True
        elif a == 0:
            self.我方是否被控 = False
            self.出招表[int(self.回合数)] = ''
            return 0
        #------------------先判断是否被控------------
        #点击道具
        self.dm.moveTo(915,456)
        self.dm.leftClick()
        time.sleep(0.4)
        #回PP药栏文字
        dm_ret = self.dm.dm.FindMultiColor(187,443,219,469,"E2FFFF","1|0|0033CC,2|0|E2FFFF,-2|0|0033CC",1,0)
        #点击HP药栏
        if(int(dm_ret[0]) != 0):
            #点击HP药
            time.sleep(0.5)
            #优先吃150血药
            dm_ret = self.dm.dm.FindMultiColor(177,490,737,555,"5C2501","0|5|0F7944,0|-1|F06CA2,-7|5|FFFFFF",1,0)
            if(int(dm_ret[0]) != 0):
                self.dm.moveTo(int(dm_ret[1]),int(dm_ret[2]))
                self.dm.leftClick()
            else:
                self.dm.moveTo(203,517)
                self.dm.leftClick()

    def enlargeRecruit(self):
        """释放第五技能"""
        for i in self.技能情况:
            if i[0] == '第五' and i[1] != '':
                if int(i[1]) <= 0:
                    #喝PP药
                    self.出招表[self.回合数] = '喝PP药'
                    return False
                dm_ret = self.dm.dm.FindMultiColor(34,475,85,518,"FFF7BE","-4|4|FFEF98,11|6|FFF9A8",1,0)
                if(int(dm_ret[0]) != 0):
                    self.dm.moveTo(int(dm_ret[1]),int(dm_ret[2]))
                    self.dm.leftClick()
        return True

    def setSkillsForRounds(self,列表):
        """根据回合数进行设置出招表"""
        a = 0
        for i in 列表:
            try:
                self.出招表[int(self.回合数) + a] = i
            except:
                #表示即将到达50回合，数组越界了
                pass
            a = a+1
    
    def 常规出招(self,列表):
        """任何精灵最常规的出招循环"""
        if self.出招表是否为空 == True:
            self.setSkillsForRounds(列表)
            self.出招表是否为空 = False
    def 记得喝PP药(self):
        """写出招表脚本时更方便更快捷"""
        #当前正在使用的技能PP归0时，把出招表替换为 喝PP药
        for 技能 in self.技能情况:
            i = int(self.回合数)
            try:
                if 技能[0].find(self.出招表[i]) != -1:
                    if 技能[1] == '0':
                        self.出招表[i] = '喝PP药'
            except:
                pass
    def 根据克制关系切换精灵(self):
        """精灵死亡以后自动切换精灵
        顺序依次为克制-普通-微弱
        """
        self.changeElvesForRestrain()
    
    def 获取3v3双方名字(self):
        """在选精灵的阶段获取双方名字"""
        list01 = []
        def 获取名字(位置):
            x1,y1,x2,y2 = 位置
            精灵名字 = self.dm.ocr(x1,y1,x2,y2,巅峰选精灵文字颜色)
            精灵名字 = 精灵名字.replace("一", "")#去除一
            return 精灵名字
        self.dm.dm.UseDict(6)
        list01.append(获取名字(区域_3v3我方精灵名1))
        list01.append(获取名字(区域_3v3我方精灵名2))
        list01.append(获取名字(区域_3v3我方精灵名3))
        list01.append(获取名字(区域_3v3我方精灵名4))
        list01.append(获取名字(区域_3v3我方精灵名5))
        list01.append(获取名字(区域_3v3我方精灵名6))
        
        list01.append(获取名字(区域_3v3对方精灵名1))
        list01.append(获取名字(区域_3v3对方精灵名2))
        list01.append(获取名字(区域_3v3对方精灵名3))
        list01.append(获取名字(区域_3v3对方精灵名4))
        list01.append(获取名字(区域_3v3对方精灵名5))
        list01.append(获取名字(区域_3v3对方精灵名6))
        self.dm.dm.UseDict(5)
        #print(list01)
        return list01

    def 检测3v3禁用情况(self):
        """查询3v3当前禁用的精灵"""
        def 找禁用图(位置):
            list01 = []
            x1,y1,x2,y2 = 位置
            x3 = x1
            y3 = y1 - 100
            x4 = x1 + 37
            y4 = y1 - 64
            #禁用精灵
            dm_ret = self.dm.dm.FindMultiColor(x3,y3,x4,y4,"171D31","0|1|C1C1C1,-3|5|161D30,-3|6|BDBDBD,-3|8|151B2D",1,0)
            dm_ret1 = self.dm.dm.FindMultiColor(x3,y3,x4,y4,"181F34","0|1|C5C5C5,-2|8|161C2F,-2|9|BCBCBC,-8|12|161C2F,-8|13|BFBFBF",1,0)
            #首发精灵
            dm_ret2 = self.dm.dm.FindMultiColor(x3,y3,x4,y4,"B60000","0|1|B40000,-4|4|B40000,-4|5|FFB700,-7|7|FFB500,-7|8|AB0000,-7|9|FFB900",1,0)
            dm_ret3 = self.dm.dm.FindMultiColor(x3,y3,x4,y4,"FFAF00","0|1|BB0000,-2|7|AF0000,-2|8|FFBA00,-7|11|A80000,-7|12|FFB900",1,0)
            if dm_ret[0] == 1 or dm_ret1[0] == 1 or dm_ret2[0] == 1 or dm_ret3[0] == 1:
                list01.append(True)
                list01.append(x4)
                list01.append(y4)
                return list01
            list01.append(False)
            list01.append(x4)
            list01.append(y4)
            return list01
        结果 = []
        结果.append(找禁用图(区域_3v3我方精灵名1))
        结果.append(找禁用图(区域_3v3我方精灵名2))
        结果.append(找禁用图(区域_3v3我方精灵名3))
        结果.append(找禁用图(区域_3v3我方精灵名4))
        结果.append(找禁用图(区域_3v3我方精灵名5))
        结果.append(找禁用图(区域_3v3我方精灵名6))
        
        结果.append(找禁用图(区域_3v3对方精灵名1))
        结果.append(找禁用图(区域_3v3对方精灵名2))
        结果.append(找禁用图(区域_3v3对方精灵名3))
        结果.append(找禁用图(区域_3v3对方精灵名4))
        结果.append(找禁用图(区域_3v3对方精灵名5))
        结果.append(找禁用图(区域_3v3对方精灵名6))
        #print(结果)
        return 结果
    
    def 禁用3v3对方精灵(self):
        """在3v3选择精灵模式时禁用对方精灵"""
        默认禁用 = ["之惩戒","圣灵谱尼","之惩戒","混元天尊","瀚宇星皇","重生之翼","希瓦"]
        名字 = self.获取3v3双方名字()
        禁用 = self.检测3v3禁用情况()
        j = 0
        for m in 禁用[6:11]:
            if m[0] == True:
                j = j+1
        if j>=2:
            #说明已经有两个禁用了，不需要再禁用
            return True
        
        for i in 默认禁用:
            n = 6
            for a in 名字[6:11]:
                if a.find(i) != -1:#-1表示不存在
                    #此时已经找到该精灵
                    if 禁用[n][0] == False:
                        #此时应该点击并禁用
                        print("此时应该点击并禁用")
                        #print('点击坐标：' + str(禁用[n][1]) + ',' + str(禁用[n][2]))
                        self.dm.moveTo(禁用[n][1],禁用[n][2])
                        self.dm.leftClick()
                        return False
                n = n + 1

        #如果只选到此处，说明默认ban位已经没找到了，所以需要从上到下从左到右进行禁用
        for m in 禁用[6:11]:
            if m[0] == False:
                #此时应该点击并禁用
                print(m)
                self.dm.moveTo(m[1],m[2])
                self.dm.leftClick()
        return False
    
    def 选首发精灵3v3(self):
        """选首发精灵3v3"""
        默认首发精灵 = self.默认首发精灵3v3
        名字 = self.获取3v3双方名字()
        禁用 = self.检测3v3禁用情况()
        
        a = 0
        for i in 名字[0:5]:
            if i.find(默认首发精灵[0]) != -1:
                #说明此时已经找到了这个精灵
                if 禁用[a][0] == False:
                    #如果首发精灵没被禁用
                    #此时应该点击
                    self.dm.moveTo(禁用[a][1],禁用[a][2])
                    self.dm.leftClick()
                    return 0
            a = a+1
        
        #如果执行到此处，说明我方的首发精灵已经被禁用了，需要从上到下从左到右进行随机首发
        for i in 禁用[0:5]:
            if i[0] == False:
                #此时应该点击
                self.dm.moveTo(i[1],i[2])
                self.dm.leftClick()
                return 0
                
    def 选出战精灵3v3(self):
        """选出战精灵3v3"""
        名字 = self.获取3v3双方名字()
        禁用 = self.检测3v3禁用情况()
        
        for i in 禁用[0:5]:
            if i[0] == False:
                #此时应该点击
                self.dm.moveTo(i[1],i[2])
                self.dm.leftClick()
        
    def Ban位3v3(self):
        """3v3ban位加选精灵的主要逻辑"""
        #判断中间白色文字（禁止精灵）
        dm_ret = self.dm.dm.FindMultiColor(435,226,490,259,"211109","9|8|211209,10|9|9C9C9C,10|11|ADADAD,10|12|22120A,13|12|22120A,13|13|CDCDCC",1,0)
        if dm_ret[0] == 1:
            #说明此时禁用对方精灵
            self.禁用3v3对方精灵()
        #判断中间白色文字（选择首发精灵）
        dm_ret = self.dm.dm.FindMultiColor(464,228,515,263,"FFFFD4","0|1|7F570E,-10|4|66440D,-10|5|EEDDB3,-10|8|4E320B,-10|9|C5BBA1,2|14|2E1A0A",1,0)
        if dm_ret[0] == 1:
            #说明此时选择首发精灵
            self.选首发精灵3v3()
        #判断中间白色文字（选择出战精灵）
        dm_ret = self.dm.dm.FindMultiColor(464,228,513,257,"6B480D","0|1|FEEBBC,1|3|E6D6AE,0|5|4E320B,1|5|CCBF9F,-4|9|DEDACC,-3|9|311D0B,0|9|37200B,0|10|F0ECCC",1,0)
        if dm_ret[0] == 1:
            #说明此时选择出战精灵
            self.选出战精灵3v3()
        #弹窗
        dm_ret = self.dm.dm.FindMultiColor(389,324,466,343,"0091C3","0|1|005A8E,0|-2|003C6E",1,0)
        if dm_ret[0] == 1:
            #确认弹窗
            self.dm.moveTo(425,362)
            self.dm.leftClick()
    
    #6v6
    def 获取6v6双方名字(self):
        """在选精灵的阶段获取双方名字"""
        list01 = []
        def 获取名字(位置):
            x1,y1,x2,y2 = 位置
            精灵名字 = self.dm.ocr(x1,y1,x2,y2,巅峰选精灵文字颜色)
            精灵名字 = 精灵名字.replace("一", "")#去除一
            return 精灵名字
        list01.append(获取名字(区域_6v6我方精灵名1))
        list01.append(获取名字(区域_6v6我方精灵名2))
        list01.append(获取名字(区域_6v6我方精灵名3))
        list01.append(获取名字(区域_6v6我方精灵名4))
        list01.append(获取名字(区域_6v6我方精灵名5))
        list01.append(获取名字(区域_6v6我方精灵名6))
        list01.append(获取名字(区域_6v6我方精灵名7))
        list01.append(获取名字(区域_6v6我方精灵名8))
        list01.append(获取名字(区域_6v6我方精灵名9))
        list01.append(获取名字(区域_6v6我方精灵名10))
        list01.append(获取名字(区域_6v6我方精灵名11))
        list01.append(获取名字(区域_6v6我方精灵名12))
        
        list01.append(获取名字(区域_6v6对方精灵名1))
        list01.append(获取名字(区域_6v6对方精灵名2))
        list01.append(获取名字(区域_6v6对方精灵名3))
        list01.append(获取名字(区域_6v6对方精灵名4))
        list01.append(获取名字(区域_6v6对方精灵名5))
        list01.append(获取名字(区域_6v6对方精灵名6))
        list01.append(获取名字(区域_6v6对方精灵名7))
        list01.append(获取名字(区域_6v6对方精灵名8))
        list01.append(获取名字(区域_6v6对方精灵名9))
        list01.append(获取名字(区域_6v6对方精灵名10))
        list01.append(获取名字(区域_6v6对方精灵名11))
        list01.append(获取名字(区域_6v6对方精灵名12))
        return list01
    
    def 检测6v6禁用情况(self):
        """查询6v6当前禁用的精灵"""
        def 找禁用图(位置):
            list01 = []
            x1,y1,x2,y2 = 位置
            x3 = x1
            y3 = y1 - 79
            x4 = x1 + 30
            y4 = y1 - 46
            #禁用精灵
            dm_ret = self.dm.dm.FindMultiColor(x3,y3,x4,y4,"C0C0C0","-1|0|171E32,-1|-2|C6C6C6,1|-3|181F34,1|-4|C6C6C6,4|-5|171D31",1,0)
            dm_ret1 = self.dm.dm.FindMultiColor(x3,y3,x4,y4,"C6C6C6","0|-1|192137,2|-2|C6C6C6,5|-3|171D31",1,0)
            #首发精灵
            dm_ret2 = self.dm.dm.FindMultiColor(x3,y3,x4,y4,"AE0000","0|1|FFB900,1|-3|B80000,5|-5|FFB600,4|-5|B70000",1,0)
            #dm_ret3 = self.dm.dm.FindMultiColor(x3,y3,x4,y4,"FFAF00","0|1|BB0000,-2|7|AF0000,-2|8|FFBA00,-7|11|A80000,-7|12|FFB900",1,0)
            if dm_ret[0] == 1 or dm_ret1[0] == 1 or dm_ret2[0] == 1:# or dm_ret3[0] == 1:
                list01.append(True)
                list01.append(x4)
                list01.append(y4)
                return list01
            list01.append(False)
            list01.append(x4)
            list01.append(y4)
            return list01
        结果 = []
        结果.append(找禁用图(区域_6v6我方精灵名1))
        结果.append(找禁用图(区域_6v6我方精灵名2))
        结果.append(找禁用图(区域_6v6我方精灵名3))
        结果.append(找禁用图(区域_6v6我方精灵名4))
        结果.append(找禁用图(区域_6v6我方精灵名5))
        结果.append(找禁用图(区域_6v6我方精灵名6))
        结果.append(找禁用图(区域_6v6我方精灵名7))
        结果.append(找禁用图(区域_6v6我方精灵名8))
        结果.append(找禁用图(区域_6v6我方精灵名9))
        结果.append(找禁用图(区域_6v6我方精灵名10))
        结果.append(找禁用图(区域_6v6我方精灵名11))
        结果.append(找禁用图(区域_6v6我方精灵名12))
        
        结果.append(找禁用图(区域_6v6对方精灵名1))
        结果.append(找禁用图(区域_6v6对方精灵名2))
        结果.append(找禁用图(区域_6v6对方精灵名3))
        结果.append(找禁用图(区域_6v6对方精灵名4))
        结果.append(找禁用图(区域_6v6对方精灵名5))
        结果.append(找禁用图(区域_6v6对方精灵名6))
        结果.append(找禁用图(区域_6v6对方精灵名7))
        结果.append(找禁用图(区域_6v6对方精灵名8))
        结果.append(找禁用图(区域_6v6对方精灵名9))
        结果.append(找禁用图(区域_6v6对方精灵名10))
        结果.append(找禁用图(区域_6v6对方精灵名11))
        结果.append(找禁用图(区域_6v6对方精灵名12))
        #print(结果)
        return 结果
    
    def 禁用6v6对方精灵(self):
        """在6v6选择精灵模式时禁用对方精灵"""
        默认禁用 = ["圣灵谱尼","之惩戒","天启帝君","混元天尊","启灵元神","瀚宇星皇","灭艾恩"]
        名字 = self.获取6v6双方名字()
        禁用 = self.检测6v6禁用情况()
        j = 0
        for m in 禁用[12:23]:
            if m[0] == True:
                j = j+1
        if j>=3:
            #说明已经有三个禁用了，不需要再禁用
            return True
        
        for i in 默认禁用:
            n = 12
            for a in 名字[12:23]:
                if a.find(i) != -1:#-1表示不存在
                    #此时已经找到该精灵
                    if 禁用[n][0] == False:
                        #此时应该点击并禁用
                        print("此时应该点击并禁用")
                        #print('点击坐标：' + str(禁用[n][1]) + ',' + str(禁用[n][2]))
                        self.dm.moveTo(禁用[n][1],禁用[n][2])
                        self.dm.leftClick()
                        return False
                n = n + 1

        #如果只选到此处，说明默认ban位已经没找到了，所以需要从上到下从左到右进行禁用
        for m in 禁用[12:23]:
            if m[0] == False:
                #此时应该点击并禁用
                print(m)
                self.dm.moveTo(m[1],m[2])
                self.dm.leftClick()
        return False

    def 选首发精灵6v6(self):
        """选首发精灵6v6"""
        默认首发精灵 = self.默认首发精灵6v6
        名字 = self.获取6v6双方名字()
        禁用 = self.检测6v6禁用情况()
        
        a = 0
        for i in 名字[0:11]:
            if i.find(默认首发精灵[0]) != -1:
                #说明此时已经找到了这个精灵
                if 禁用[a][0] == False:
                    #如果首发精灵没被禁用
                    #此时应该点击
                    self.dm.moveTo(禁用[a][1],禁用[a][2])
                    self.dm.leftClick()
                    return 0
            a = a+1
        
        #如果执行到此处，说明我方的首发精灵已经被禁用了，需要从上到下从左到右进行随机首发
        for i in 禁用[0:11]:
            if i[0] == False:
                #此时应该点击
                self.dm.moveTo(i[1],i[2])
                self.dm.leftClick()
                return 0

    def 选出战精灵6v6(self):
        """选出战精灵6v6"""
        名字 = self.获取6v6双方名字()
        禁用 = self.检测6v6禁用情况()
        
        for i in 禁用[0:11]:
            if i[0] == False:
                #此时应该点击
                self.dm.moveTo(i[1],i[2])
                self.dm.leftClick()

    def Ban位6v6(self):
        """6v6ban位加选精灵的主要逻辑"""
        #判断中间白色文字（禁止精灵）
        dm_ret = self.dm.dm.FindMultiColor(435,226,490,259,"211109","9|8|211209,10|9|9C9C9C,10|11|ADADAD,10|12|22120A,13|12|22120A,13|13|CDCDCC",1,0)
        if dm_ret[0] == 1:
            #说明此时禁用对方精灵
            self.禁用6v6对方精灵()
        #判断中间白色文字（选择首发精灵）
        dm_ret = self.dm.dm.FindMultiColor(464,228,515,263,"FFFFD4","0|1|7F570E,-10|4|66440D,-10|5|EEDDB3,-10|8|4E320B,-10|9|C5BBA1,2|14|2E1A0A",1,0)
        if dm_ret[0] == 1:
            #说明此时选择首发精灵
            self.选首发精灵6v6()
        #判断中间白色文字（选择出战精灵）
        dm_ret = self.dm.dm.FindMultiColor(464,228,513,257,"6B480D","0|1|FEEBBC,1|3|E6D6AE,0|5|4E320B,1|5|CCBF9F,-4|9|DEDACC,-3|9|311D0B,0|9|37200B,0|10|F0ECCC",1,0)
        if dm_ret[0] == 1:
            #说明此时选择出战精灵
            self.选出战精灵6v6()
        #弹窗
        dm_ret = self.dm.dm.FindMultiColor(389,324,466,343,"0091C3","0|1|005A8E,0|-2|003C6E",1,0)
        if dm_ret[0] == 1:
            #确认弹窗
            self.dm.moveTo(425,362)
            self.dm.leftClick()
    
    def 点击验证(self,data):
        """0123左右正后"""
        if data == 0:
            dm_ret = self.dm.dm.FindMultiColor(127,304,825,388,"01FF01","4|0|01FF01,0|4|01FF01",1,0)#左
        if data == 1:
            dm_ret = self.dm.dm.FindMultiColor(127,304,825,388,"FFFF01","7|2|FFFF01,5|12|FFFF01",1,0)#右
        if data == 2:
            dm_ret = self.dm.dm.FindMultiColor(127,304,825,388,"FF0101","6|0|FF0101,2|15|FF0101",1,0)#正
        if data == 3:
            dm_ret = self.dm.dm.FindMultiColor(127,304,825,388,"0101FF","5|1|0101FF,3|12|0101FF",1,0)#后
        if(int(dm_ret[0]) != 0):
            self.dm.moveTo(int(dm_ret[1]),int(dm_ret[2]))
            self.dm.leftClick()
"""
各种事件
1、当血量发生变化时触发
2、当己方血量到达百分比时触发
3、对对面血量到达百分比时触发
4、当技能PP发生变化时触发
5、当技能PP归零时触发
6、当己方死亡时触发
7、当对方阵亡时触发
8、当对方切换精灵时触发
9、当对方是某个特定精灵时触发
10、当战斗信息更新时触发
11、当战斗信息里出现某个关键词时触发
12、当己方被控时触发
13、当对方被控时触发
14、当己方拥有强化时触发
15、当对方拥有强化时触发
16、当我方卡药时触发
17、正常情况时触发
18、对方拥有腐蚀套时触发
19、当我方出招表为空时触发
"""